package io.gitee.yxsnake.framework.system.api;

import com.github.lianjiatech.retrofit.spring.boot.core.RetrofitClient;
import io.gitee.yxsnake.framework.core.domain.Result;
import io.gitee.yxsnake.framework.system.api.domain.bo.RemoteSocialBo;
import io.gitee.yxsnake.framework.system.api.domain.vo.RemoteSocialVo;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

import java.util.List;

/**
 * @author snake
 * @description 社会化关系服务
 * @since 2024/11/2 23:06
 */
@RetrofitClient(baseUrl = "${retrofit.pisces-system-server:http://pisces-system-server:21001/}")
public interface RemoteSocialService {

    /**
     * 根据 authId 查询用户授权信息
     *
     * @param authId 认证id
     * @return 授权信息
     */
    @GET(value = "inner/social/selectByAuthId")
    Result<List<RemoteSocialVo>> selectByAuthId(@Query("authId") String authId);

    /**
     * 查询列表
     *
     * @param bo 社会化关系业务对象
     * @return
     */
    @POST(value = "inner/social/queryList")
    List<RemoteSocialVo> queryList(@Body RemoteSocialBo bo);

    /**
     * 保存社会化关系
     *
     * @param bo 社会化关系业务对象
     */
    @POST(value = "inner/social/insertByBo")
    Boolean insertByBo(@Body RemoteSocialBo bo);

    /**
     * 更新社会化关系
     *
     * @param bo 社会化关系业务对象
     */
    @POST(value = "inner/social/updateByBo")
    Boolean updateByBo(@Body RemoteSocialBo bo);

    /**
     * 删除社会化关系
     *
     * @param socialId 社会化关系ID
     * @return 结果
     */
    @GET(value = "inner/social/deleteWithValidById")
    Boolean deleteWithValidById(@Query("socialId") Long socialId);

}

